package com.situation.mapper;

import com.situation.pojo.DO.TbDepartment;
import com.situation.pojo.DO.TbUser;
import com.situation.pojo.VO.TbDepartmentRenShuVO;
import com.situation.pojo.VO.UserDeanVO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author TaoMinghui
 * @create 2021-12-07 9:12
 */
@Mapper
@Component(value = "tbDepartmentMapper")
public interface TbDepartmentMapper {

    /**
     * 分页查询所有部门  （带部门人数）
     * @return
     */
    List<TbDepartmentRenShuVO> queryAllTbDepartmentFenYeRenShu();

    /**
     * 自己调用的
     * @param departmentId
     * @return
     */
    List<TbUser> queryVORenShu(int departmentId);

    /**
     * 查询所有部门
     * @return
     */
    List<TbDepartment> queryAllTbDepartment();

    /**
     * 添加部门
     */
    int addTbDepartment(TbDepartment tbDepartment);

    /**
     * 通过部门id删除部门
     * @param id
     * @return
     */
    int deleteTbDepartmentById(long id);

    /**
     * 编辑部门
     * @param tbDepartment
     * @return
     */
    int editTbDepartment(TbDepartment tbDepartment);

    /**
     * 通过部门name查找部门id
     * @param name
     * @return
     */
    int findIdByName(String name);

    /**
     * 通过模糊部门名称查询部门列表 (带人数)
     * @param moHuName
     * @return
     */
    List<TbDepartmentRenShuVO> findAllTbDepartmentByMoHuName(String moHuName);


    /**
     * 通过部门Id查找部门
     * @param id
     * @return
     */
    TbDepartment findTbDepartmentById(long id);

//    /**
//     * 查找部门主任,排除掉已经禁用的用户
//     * @return
//     */
//    List<UserDeanVO> findDeanList();


}
